package com.wocai.jrt.admin.user.model;

import java.io.Serializable;
import java.util.List;
import java.util.Set;

import com.vteba.security.user.Resource;

public class Authorities implements Serializable, com.vteba.security.user.Authority {
	private static final long serialVersionUID = -5102670678193798581L;

	private Set<String> resUrls;
	private String urls;
	private Boolean showMenu;
	private List<ModuleMenu> menuList;
	
	private List<Resources> resourceList;
	private Set<String> methodResource;
	
	/**
	 * 状态，0机构1后台2机构初始化
	 */
	private Integer state;
	
	/**
	 * 菜单的class样式，icon图标
	 */
	private String icon;
	
    /**
     * order by 排序语句
     * 对应数据库表字段 authorities
     */
    private String orderBy;

    /**
     * 分页开始记录
     * 对应数据库表字段 authorities
     */
    private Integer start;

    /**
     * 分页大小
     * 对应数据库表字段 authorities
     */
    private int pageSize = 10;

    /**
     * 是否去重
     * 对应数据库表字段 authorities
     */
    private boolean distinct;

    /**
     * 对应数据库表字段 authorities.auth_id
     */
    private String authId;

    /**
     * 对应数据库表字段 authorities.auth_name
     */
    private String authName;

    /**
     * 对应数据库表字段 authorities.auth_desc
     */
    private String authDesc;

    /**
     * 对应数据库表字段 authorities.enabled
     */
    private Integer enabled;

    /**
     * 对应数据库表字段 authorities.module_id
     */
    private String moduleId;

    /**
     * 对应数据库表字段 authorities.action
     */
    private String action;

    /**
     * 对应数据库表字段 authorities.orders
     */
    private Integer orders;
    
    /**
     * 对应数据库表字段 authorities.org_id
     */
    private String orgId;
    
    /**
     * 设置 order by 排序语句
     */
    public void setOrderBy(String orderBy) {
        this.orderBy = orderBy;
    }

    /**
     * 获得 order by 排序语句
     */
    public String getOrderBy() {
        return orderBy;
    }

    /**
     * 设置 start，分页开始记录
     */
    public void setStart(Integer start) {
        this.start = start;
    }

    /**
     * 获得 start，分页开始记录
     */
    public Integer getStart() {
        return start;
    }

    /**
     * 设置 pageSize，分页大小
     */
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    /**
     * 获得 pageSize，分页大小
     */
    public int getPageSize() {
        return pageSize;
    }

    /**
     * 设置 distinct，是否去重
     */
    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    /**
     * 获得 distinct，是否去重
     */
    public boolean isDistinct() {
        return distinct;
    }

    /**
     * 获得字段 authorities.auth_id 的值
     *
     * @return the value of authorities.auth_id
     */
    public String getAuthId() {
        return authId;
    }

    /**
     * 设置字段 authorities.auth_id 的值
     *
     * @param authId the value for authorities.auth_id
     */
    public void setAuthId(String authId) {
        this.authId = authId;
    }

    /**
     * 获得字段 authorities.auth_name 的值
     *
     * @return the value of authorities.auth_name
     */
    public String getAuthName() {
        return authName;
    }

    /**
     * 设置字段 authorities.auth_name 的值
     *
     * @param authName the value for authorities.auth_name
     */
    public void setAuthName(String authName) {
        this.authName = authName;
    }

    /**
     * 获得字段 authorities.auth_desc 的值
     *
     * @return the value of authorities.auth_desc
     */
    public String getAuthDesc() {
        return authDesc;
    }

    /**
     * 设置字段 authorities.auth_desc 的值
     *
     * @param authDesc the value for authorities.auth_desc
     */
    public void setAuthDesc(String authDesc) {
        this.authDesc = authDesc;
    }

    /**
     * 获得字段 authorities.enabled 的值
     *
     * @return the value of authorities.enabled
     */
    public Integer getEnabled() {
        return enabled;
    }

    /**
     * 设置字段 authorities.enabled 的值
     *
     * @param enabled the value for authorities.enabled
     */
    public void setEnabled(Integer enabled) {
        this.enabled = enabled;
    }

    /**
     * 获得字段 authorities.module_id 的值
     *
     * @return the value of authorities.module_id
     */
    public String getModuleId() {
        return moduleId;
    }

    /**
     * 设置字段 authorities.module_id 的值
     *
     * @param moduleId the value for authorities.module_id
     */
    public void setModuleId(String moduleId) {
        this.moduleId = moduleId;
    }

    /**
     * 获得字段 authorities.action 的值
     *
     * @return the value of authorities.action
     */
    public String getAction() {
        return action;
    }

    /**
     * 设置字段 authorities.action 的值
     *
     * @param action the value for authorities.action
     */
    public void setAction(String action) {
        this.action = action;
    }

    public String getUrls() {
        return urls;
    }

    public void setUrls(String urls) {
        this.urls = urls;
    }

    /**
     * 获得字段 authorities.orders 的值
     *
     * @return the value of authorities.orders
     */
    public Integer getOrders() {
        return orders;
    }

    /**
     * 设置字段 authorities.orders 的值
     *
     * @param orders the value for authorities.orders
     */
    public void setOrders(Integer orders) {
        this.orders = orders;
    }

	public String getOrgId() {
		return orgId;
	}

	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}

	public Boolean getShowMenu() {
		return showMenu;
	}

	public void setShowMenu(Boolean showMenu) {
		this.showMenu = showMenu;
	}

	public Set<String> getResUrls() {
		return resUrls;
	}

	public void setResUrls(Set<String> resUrls) {
		this.resUrls = resUrls;
	}

	public List<ModuleMenu> getMenuList() {
		return menuList;
	}

	public void setMenuList(List<ModuleMenu> menuList) {
		this.menuList = menuList;
	}

	@Override
	public Set<String> getUrlResource() {
		return resUrls;
	}

	@Override
	public Set<String> getMethodResource() {
		return methodResource;
	}

	public void setMethodResource(Set<String> methodResource) {
		this.methodResource = methodResource;
	}

	@Override
	public List<? extends Resource> getResourceList() {
		return resourceList;
	}

	public void setResourceList(List<Resources> resourceList) {
		this.resourceList = resourceList;
	}

	public String getIcon() {
		return icon;
	}

	public void setIcon(String icon) {
		this.icon = icon;
	}

	@Override
	public String getTenantId() {
		return orgId;
	}

	public Integer getState() {
		return state;
	}

	public void setState(Integer state) {
		this.state = state;
	}
}